#!/bin/bash

# 定义镜像tar包存放路径（统一变量，方便后续修改）
IMAGE_DIR="../../docker-images"

# 检查路径是否存在，不存在则报错退出
if [ ! -d "${IMAGE_DIR}" ]; then
    echo "ERROR: 镜像存放路径不存在，请检查路径是否正确：${IMAGE_DIR}"
    exit 1
fi

# 函数：检查镜像是否已加载，未加载则执行加载
load_image() {
    local image_tag="$1"
    local tar_filename="$2"  # 仅文件名（不含路径）
    local image_name="$3"
    
    # 拼接完整tar包路径（变量引用）
    local tar_path="${IMAGE_DIR}/${tar_filename}"
    
    # 检查tar文件是否存在
    if [ ! -f "${tar_path}" ]; then
        echo "ERROR: 镜像tar文件不存在，请检查文件路径：${tar_path}"
        exit 1
    fi
    
    # 检查镜像是否已加载
    if ! docker images --format "{{.Repository}}:{{.Tag}}" | grep -q "^${image_tag}$"; then
        echo "开始加载${image_name}镜像"
        docker load -i "${tar_path}"
        if [ $? -ne 0 ]; then
            echo "ERROR: ${image_name}镜像加载失败，请检查tar文件完整性"
            exit 1
        fi
    else
        echo "${image_name}镜像已存在，跳过加载"
    fi
}

# 加载各镜像（仅传入文件名，路径通过变量拼接）
load_image "mysql:5.7" "mysql_5.7.tar" "mysql5.7"
load_image "mongo:4.0.12" "mongo_4.0.12.tar" "mongo4.0.12"
load_image "nginx:1.24.0" "nginx_alpine.tar" "nginx1.24.0"
load_image "myphp:7.2" "myphp_7.2.tar" "myphp7.2"
load_image "java-tomcat:t9.0_j8" "java-tomcat_t9.0_j8.tar" "java-tomcat"
load_image "jenkins:latest" "jenkins.tar" "jenkins"

echo "=====镜像加载完成====="

# 后续权限处理（保持不变）
echo "给文件init-permissions.sh赋权"
chmod 750 init-permissions.sh
echo "执行init-permissions.sh"
./init-permissions.sh